const app = getApp();

const fetchSev = require("../../utils/util.js").fetchSev;
const getSkusUrl = require("../../config.js").getSkusUrl;    // 查询小码列表

Page({

  /**
   * 页面的初始数据
   */
  data: {
    cateArr: [{cate: '综合排序', id: 1}, { cate: '新品推荐', id: 2}],
    cateIndex: 0,  

    currentTabIdx: -1,   // 控制“综合排序”“销量”“克重排序”“筛选”的交互色，取值范围：1 ~ 4
    weightSortToggle: false, // true 从高到低， false 从低到高

    skuList: [],    // sku搜索结果
    searchData: {
      pagesize: 30,
      page: 1,
      q_keyword: '',  // 关键字
      q_cate_id: '',  // 品类id
      q_min_weight: '', // 克重范围
      q_max_weight: '', 
      order_by: '',  // (max_weight: 克重范围降序, min_weight(克重范围升序)
      q_spu_id: '',  // 大码id
      q_craft_id: '',  // 工艺id
    },

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    console.log('页面刷新');
    // 初始化全局的搜索关键字
    this._updateSearchData('q_keyword', app.globalData.searchText);

    const filter = app.globalData.filter;
    // console.log('来自筛选页面的filter', filter);
    // 要更新克重范围、品类id、大码id、工艺id
    this._updateSearchData('q_min_weight', filter.weight1);
    this._updateSearchData('q_max_weight', filter.weight2);
    this._updateSearchData('q_cate_id', filter.currentCateId);
    this._updateSearchData('q_spu_id', filter.currentSpuId);
    this._updateSearchData('q_craft_id', filter.currentCraftId);
    // 初始化请求，根据“关键字”搜索小码列表
    // this._updateSearchData('q_keyword', '精品时尚');
    console.log('筛选条件=======> 9个条件', this.data.searchData);
    this._search(this.data.searchData);
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  },

  // 工具1：sku条件搜索 
  _search: function(data) {
    wx.showLoading({
      title: '加载中',
    });
    fetchSev(getSkusUrl, 'GET', data, function(res) {
      console.log('搜索结果', res);
      const list = res&&res.data ? res.data : []; 
      this.setData({skuList: list});
      wx.hideLoading();
    }.bind(this));
  },

  // 工具2：更新searchData中的一个搜索条件
  _updateSearchData: function(key, value){
    let obj = this.data.searchData;
    // 重置“克重范围”为默认排序
    obj.order_by = '';
    for(let k in obj) {
      if (k === key) {
        console.log('搜索条件变化', key, value);
        obj[k] = value;
      }
    }
    console.log('最新搜索条件', obj);
    this.setData({searchData: obj});
  },

  // 工具3：状态重置
  _stateReset: function() {
    // 重置交互色
    this.setData({currentTabIdx: -1});
    // 重置“克重范围”为默认排序
    this.setData({ weightSortToggle: false});
    // 重置搜索条件
    const searchObj = this.data.searchData;
    for (let key in searchObj) {
      if (key != 'q_keyword') {
        searchObj[key] = '';
      }
    }
    searchObj.page = 1;
    searchObj.pagesize = 30;
  },


  // 1-根据 关键字 来搜索
  _keywordInputChange: function(e) {
    const keyword = e.detail.value;
    this._updateSearchData('q_keyword', keyword);
  },
  _searchBtnClick: function() {
    this._stateReset();
    // 改变tab交互色
    this.setData({ currentTabIdx: -1 });
    this._search(this.data.searchData);
  },

  // 2-根据 综合排序与新品推荐 来搜索
  _cateChange: function(e) {
    console.log(e.detail.value);
    this.setData({
      cateIndex: e.detail.value
    })
  },

  // 3-根据克重范围排序：从高到低，从低到高，默认排序
  _weightSort: function() {
    // 交互色
    this.setData({currentTabIdx: 3});
    // 升序与降序 搜索
    let toggle = this.data.weightSortToggle;
    if (toggle) {      
      this._updateSearchData('order_by', 'max_weight');  // 克重降序排列 
      this.setData({ weightSortToggle: false });
      console.log('克重 降序排列 ----------------------', this.data.weightSortToggle);
    } else {      
      this._updateSearchData('order_by', 'min_weight');  // 克重升序排列
      this.setData({ weightSortToggle: true });
      console.log('克重 升序排列 ++++++++++++++++++++++', this.data.weightSortToggle);
    }
    this._search(this.data.searchData);
  },

  // 4 - 综合与热销排序
  _cateSort: function() {
    this._stateReset();
    // 交互色
    this.setData({ currentTabIdx: 1 });
  },

  // 5-销量排序：从高到低
  _saleSort: function() {
    this._stateReset();
    // 交互色
    this.setData({ currentTabIdx: 2 });
  },

  // 6-筛选
  _filterClick: function() {
    this._stateReset();
    // 交互色
    this.setData({ currentTabIdx: 4 });
    // 跳转到filter页面
    wx.navigateTo({
      url: '../filter/filter',
    });
  },



  // 7-点击sku
  _skuClick: function(e) {
    console.log(e);
    // 更新当前的全局sku
    const currentSku = e.currentTarget.dataset.sku;
    app.globalData.currentSku = currentSku;
    // 跳转至sku详情页
    wx.navigateTo({
      url: '../detail/detail',
    });
  }


})